package lp.xian.equipment.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 工资对象 lp_salary
 *
 * @author ruoyi
 * @date 2023-07-21
 */
@Data
public class Salary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工资编号 */
    private Integer salaryId;

    /** 人员姓名 */
    @Excel(name = "人员姓名")
    private Integer userId;

    /** 所属部门 */
    @Excel(name = "所属部门")
    private Integer deptId;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phonenumber;

    /** 人员状态 */
    @Excel(name = "人员状态")
    private String status;

    /** 基本工资 */
    @Excel(name = "基本工资")
    private BigDecimal salaryBasic;

    /** 津贴 */
    @Excel(name = "津贴")
    private BigDecimal salaryAllowance;

    /** 绩效 */
    @Excel(name = "绩效")
    private BigDecimal salaryPerformance;

    /** 扣款 */
    @Excel(name = "扣款")
    private BigDecimal salaryDeduction;

    /** 合计 */
    @Excel(name = "合计")
    private BigDecimal salaryAmount;

    /** 个人养老保险 */
    @Excel(name = "个人养老保险")
    private BigDecimal salaryEndowment;

    /** 个人医疗保险 */
    @Excel(name = "个人医疗保险")
    private BigDecimal salaryMedical;

    /** 个人失业保险 */
    @Excel(name = "个人失业保险")
    private BigDecimal salaryUnemployment;

    /** 个人大额医疗 */
    @Excel(name = "个人大额医疗")
    private BigDecimal salaryLargeMedical;

    /** 个人住房公积金 */
    @Excel(name = "个人住房公积金")
    private BigDecimal salaryHousingFund;

    /** 合计 */
    @Excel(name = "合计")
    private BigDecimal salaryThatAmount;

    /** 公司养老保险 */
    @Excel(name = "公司养老保险")
    private BigDecimal salaryCompanyEndowment;

    /** 公司医疗保险 */
    @Excel(name = "公司医疗保险")
    private BigDecimal salaryCompanyMedical;

    /** 公司失业保险 */
    @Excel(name = "公司失业保险")
    private BigDecimal salaryCompanyUnemployment;

    /** 公司生育保险 */
    @Excel(name = "公司生育保险")
    private BigDecimal salaryCompanyMaternity;

    /** 公司医疗保险 */
    @Excel(name = "公司医疗保险")
    private BigDecimal salaryCompanyLargeMedicals;

    /** 公司住房公积金 */
    @Excel(name = "公司住房公积金")
    private BigDecimal salaryCompanyHousingFunds;

    /** 合计 */
    @Excel(name = "合计")
    private BigDecimal salaryCompanyAmount;

    /** 本期应补(退)税款 */
    @Excel(name = "本期应补(退)税款")
    private BigDecimal salaryTaxpayment;

    /** 实发金额 */
    @Excel(name = "实发金额")
    private BigDecimal salaryPaidInAmount;

    /** 签收状态 */
    @Excel(name = "签收状态")
    private Integer auditStatus;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;

    /** 审核人 */
    @Excel(name = "审核人")
    private String auditPerson;

    private SysUser sysUser;

    private SysDept sysDept;



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("salaryId", getSalaryId())
                .append("userId", getUserId())
                .append("deptId", getDeptId())
                .append("phonenumber", getPhonenumber())
                .append("status", getStatus())
                .append("salaryBasic", getSalaryBasic())
                .append("salaryAllowance", getSalaryAllowance())
                .append("salaryPerformance", getSalaryPerformance())
                .append("salaryDeduction", getSalaryDeduction())
                .append("salaryAmount", getSalaryAmount())
                .append("salaryEndowment", getSalaryEndowment())
                .append("salaryMedical", getSalaryMedical())
                .append("salaryUnemployment", getSalaryUnemployment())
                .append("salaryLargeMedical", getSalaryLargeMedical())
                .append("salaryHousingFund", getSalaryHousingFund())
                .append("salaryThatAmount", getSalaryThatAmount())
                .append("salaryCompanyEndowment", getSalaryCompanyEndowment())
                .append("salaryCompanyMedical", getSalaryCompanyMedical())
                .append("salaryCompanyUnemployment", getSalaryCompanyUnemployment())
                .append("salaryCompanyMaternity", getSalaryCompanyMaternity())
                .append("salaryCompanyLargeMedicals", getSalaryCompanyLargeMedicals())
                .append("salaryCompanyHousingFunds", getSalaryCompanyHousingFunds())
                .append("salaryCompanyAmount", getSalaryCompanyAmount())
                .append("salaryTaxpayment", getSalaryTaxpayment())
                .append("salaryPaidInAmount", getSalaryPaidInAmount())
                .append("auditStatus", getAuditStatus())
                .append("auditTime", getAuditTime())
                .append("auditPerson", getAuditPerson())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
